1. Field of the Invention
The present invention relates to data transfer systems and computer-readable recording media recording data transfer server programs, and more particularly, to a data transfer system and a computer-readable recording medium recording a data transfer server program whereby graphics information created by an application of a server can be transferred to a client connected to the server via a network.
2. Description of the Related Art
RDP (Remote Desktop Protocol) adopted in Windows (registered trademark) is known as one of conventional techniques permitting the results of processing by a server to be displayed at a remote client.
In RDP, the server holds screen images to be displayed at the client, and information to be displayed at the client is transmitted as differential information of image data. Based on the received differential information, the client refreshes the currently displayed screen. Namely, generation of image data is in its entirety taken care of by the server. According to RDP, three-dimensional shape data as image data is handled in like manner. Specifically, the server holds screen images and transmits differential information of image data to the client.
Apart from RDP in which differential information of image data is transmitted, there has also been known a method of directly transmitting graphic commands to generate image data. Graphic commands are, however, larger in data amount than image data, and therefore, especially in the case where the method is used to handle three-dimensional images, a problem arises in that a large amount of data needs to be transferred, compared with the case of transmitting image data. As a solution to the problem, OpenGL (Graphics Library), which is a three-dimensional graphics library standard, provides a scheme called display list.
With this scheme, a series of repeatedly used graphic commands is defined in advance and transmitted only once from the server to the client. The client stores the received display list. When the display list is specified thereafter from the server, the client can draw images by itself. Thus, the scheme is effective in the case of redrawing a single shape a number of times (as in the case of viewing a three-dimensional shape from different directions).
To lighten the load on the network, there has also been proposed a network communication system wherein both of the server and the client are provided with a relay cache, and data transmitted from the server to the client is stored in each of the relay caches so that if data requested by a client application exists in the relay cache of the client, the client can use the data stored in its own relay cache (see Unexamined Japanese Patent Publication No. H09-251414 (paragraph nos. [0021] to [0039], FIG. 1), for example).
Meanwhile, in the case of using a form called ASP (Application Service Provider) where applications are collectively managed by a server, existing stand-alone applications, if compatible with ASP, can be directly run in the form of ASP without the need for any modification. In fact, many of business applications can be run in the form of ASP by using RDP. However, in cases where an application handling three-dimensional shapes is run in the form of ASP by using the conventional techniques, the operation of ASP loses practicality because of the problem of performance.
First, with RDP in which the server takes charge of all image processing, the load on the CPU (Central Processing Unit) of the server increases. Drawing a three-dimensional shape involves numerous logical operations. Thus, where an application is run as a stand-alone application, a dedicated graphics accelerator is often prepared for hardware rendering, in order to achieve high-speed processing. However, the server is required to simultaneously run applications for multiple clients, and also drawing of screen images to be held by the server needs to be executed in parallel; therefore, an ordinary graphics accelerator, which is basically adapted to process screen images one by one, cannot be used. Consequently, all three-dimensional shapes are rendered by software by means of the CPU, and also since drawing operations for multiple applications need to be executed in parallel, the CPU of the server is applied with an extremely heavy load. The heavier the load on the server CPU, the slower the overall server process becomes, with the result that the operation of ASP loses practicality because of lowering in performance.
On the other hand, the method of transmitting graphic commands from the server is associated with a problem that a vast amount of data needs to be transferred. The OpenGL display list does not work unless a display list process is incorporated in the application program. However, a large majority of existing applications are not intended for ASP and are incapable of effectively using display lists. Thus, where an application using no display list is run, a vast amount of data is transferred from the server to the client. For this reason, practical operation of ASP is unavailable due to the problem of performance.
As explained above, in the case of a client-server system adapted to process three-dimensional shapes which entail a heavy processing load and require transfer of a vast amount of data, it is difficult to run existing applications handling three-dimensional shapes in the form of ASP without the need for modification of the applications.